


//
//  NHHelper.m
//  NeiHanDemo
//
//  Created by qianfeng on 16/2/19.
//  Copyright © 2016年 王卓越. All rights reserved.
//

#import "NHHelper.h"

@implementation NHHelper

// 1、时间转化
+ (NSString *)converDateString:(NSString *)inputString{
    NSDate *date = [NSDate dateWithTimeIntervalSince1970:[inputString integerValue]];
    NSDateFormatter *formate = [[NSDateFormatter alloc] init];
    //年-月-日  时:分:秒
    formate.dateFormat = @"yyyy-MM-dd hh:mm:ss";
//    NSLog(@"%@", date);
    return [formate stringFromDate:date];
}


// 2、计算文本内容 大小
+ (CGSize)contentSizeOfString:(NSString *)content maxWidth:(CGFloat)width font:(UIFont *)font;{
    //如果内容为空，直接返回CGSizeZero
    if (content.length == 0) {
        return CGSizeZero;
    }
//返回包含字符串的边框大小
    //boundingRectWithSize: ->指定限定大小,此处限制宽度，高度同比例自动改变
    //options: ->
    /*
     NSStringDrawingUsesLineFragmentOrigin   ->从左上角开始计算
     NSStringDrawingUsesFontLeading          ->包含行间距
    
     NSStringDrawingUsesDeviceMetrics
     */
    //attributes: ->指定可使用的字体
    //context: -》上下文
    CGRect rect = [content boundingRectWithSize:CGSizeMake(width, MAXFLOAT) options: NSStringDrawingUsesLineFragmentOrigin | NSStringDrawingUsesFontLeading attributes:@{NSFontAttributeName:font} context:nil];
    return rect.size;
}

// 3、计算图片大小
//根据图片的宽高，计算缩放后图片的大小
//inputImageWidth、inputImageHeight -》原图的宽高
//restictWidth ->要设置的图片的宽
+ (CGSize)imageSize:(NSString *)inputImageWidth height:(NSString *)inputImageHeight restictWidth:(CGFloat)width{
    //如果没有给出图片的宽高，直接返回CGSizeZero
    if (inputImageHeight.length == 0 || inputImageWidth.length == 0) {
        return CGSizeZero;
    }
    //计算出在x方向的缩放因子
    //width * 1.0 ->把整型转化为浮点型，分子或分母如果有一个是浮点型，那么另一个也会自动转化为浮点型参加运算
    //转化为浮点型的原因:防止出现2/3 -》0的现象
    CGFloat scaleX = width * 1.0 / [inputImageWidth integerValue];
    //由于是同比例缩放，所以在y方向上只需*相同的比例因子
    CGFloat height = [inputImageHeight integerValue] * scaleX;
    
    return CGSizeMake(width, height);
}

@end
